1. Field of the Invention
This invention relates generally to computer graphics and, more specifically, to using computer systems to animate hair.
2. Background Art
Computers are widely used to model and animate figures, from insects and monsters to human beings. Many of these figures have hair or fur attached to their bodies. In the past, when such a figure was animated, its body would move, but its hair or fur would remain stationary relative to its body position. Now, software has been developed to animate hair and, as a result, make character animation more realistic. Hair animation software can also be used to show hair responding to a variety of forces, such as a gust of wind or a character pulling at the hair.
There are a number of difficulties in modeling and animating hairs. First, a figure is often covered by thousands of strands of hair or fur. This means that the strands cannot all be created and positioned manually without requiring substantial time and expense. In addition, it means that animating the hair can involve a signification amount of computation, since the shape and position of each hair at each frame has to be computed. Second, human hair is even more difficult to model than fur because of its length and the variety of possible styles. A real human head contains about 100,000-200,000 strands of hair. And for each head of hair, there are dozens, if not hundreds, of possible hairstyles.
The first step in creating an animated sequence is often creating a model of a character. There are many options for modeling the hair or fur of the character, including the type of strands and the hairstyle. Strands can vary in length, waviness, and thickness, and hairstyles can vary in terms of shape, numbers of strands, and how the strands are attached to the character. The hair animation system should not limit the hair model. Rather, the system should be flexible enough to be used with many types of strands and many types of hairstyles.
Traditionally, hair animation systems have required strands to be of a certain type, such as long and straight. Hair animation systems have also been designed for use with a particular hairstyle or even a particular character. This lack of flexibility severely affects the creative process. Not only does it restrict what a model can look like, it also inhibits making changes to the model later on in the creative process, since the animation that was created for the first model may not work for the modified model.
Once a model has been created, a user should be able to control the animation of its hair. The animation should be realistic, reflecting the fact that while one force may act upon several strands of a hairstyle, not all of the strands will react in exactly the same way. For example, if a character is facing into the wind, its hair will generally be blown backwards. However, different strands of hair can move in slightly different directions, as happens in real life. The user should be able to control this animation, including controlling whether to take into account the effects of gravity on hair movement. Also, when the movement has ended, the hair should return to its original hairstyle, albeit with whatever changes in shape and position would result from such movement.
In the past, hair has been animated using physically-based simulations, such as modeling a strand of hair as a mass-spring system with multiple joints and segments. Physically-based simulations can be computationally expensive to a prohibitive extent and sometimes become unstable. In addition, physically-based simulations often enable little or no user control over the resulting animation.
What is needed is a hair animation system that is flexible enough to be used with many types of strands and many types of hairstyles and that animates hair in a realistic, controllable way.